home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 3 / DOS065.dsk / ALL ACCOUNTS.bas next >
BASIC Source File  |  2012-02-16  |  3KB  |  110 lines

  1. 12  DIM S$(200)
  2. 100  HOME : PRINT "INSERT PFILE DISK AND HIT RETURN"
  3. 101  INPUT X$
  4. 102 NN = 450
  5. 105  DIM P$(NN)
  6. 110 Z$ = "<CTRL-D>"
  7. 111  PRINT Z$;"CATALOG"
  8. 120  PRINT Z$;"OPEN PFILE"
  9. 130  PRINT Z$;"READ PFILE"
  10. 140  FOR E = 0 TO NN
  11. 150  INPUT P$(E)
  12. 160  NEXT E
  13. 170  PRINT Z$;"CLOSE PFILE"
  14. 200  REM  STATEMENT
  15. 205  INPUT "WHAT IS THE CURRENT BILLING DATE ";CD$:C1$ = CD$
  16. 206 M$ =  LEFT$(CD$,2)
  17. 207  IF  MID$ (CD$,2,1) = "/"  THEN M$ =  LEFT$(M$,1)
  18. 208 CD =  VAL(M$)
  19. 209 TR = CD -1:SX = CD -2:NT = CD -3
  20. 210  IF CD = 1  THEN TR = TR +12:SX = SX +12:NT = NT +12
  21. 211  IF CD = 2  THEN SX = SX +12:NT = NT +12
  22. 212  IF CD = 3  THEN NT = NT +12
  23. 213 CD$ =  STR$(CD)
  24. 218  PR# 1
  25. 220  REM  ALL ACCOUNTS
  26. 221  GOSUB 5000
  27. 230  FOR A = 1 TO 200
  28. 232 A$ =  STR$(A)
  29. 233  IF  LEN(A$) = 3  THEN 235
  30. 234 A$ = "0" +A$: GOTO 233
  31. 235  FOR E = 0 TO NN
  32. 237  IF A$ =  MID$ (P$(E),9,3)  THEN 241
  33. 239  NEXT E
  34. 240  NEXT A
  35. 241  IF E >NN  THEN E = NN
  36. 242 N$ =  MID$ (P$(E),12,25)
  37. 250  REM  90 AND OVER
  38. 260  FOR E = 0 TO NN
  39. 270  IF A$ =  MID$ (P$(E),9,3)  THEN  GOSUB 1000
  40. 280  NEXT E
  41. 293 V$ = ""
  42. 300  REM  FOR 60 DAY
  43. 320  FOR E = 0 TO NN
  44. 330  IF A$ =  MID$ (P$(E),9,3)  THEN  GOSUB 2000
  45. 335  NEXT E
  46. 355 V$ = ""
  47. 400  REM  FOR 30 DAYS
  48. 420  FOR E = 0 TO NN
  49. 430  IF A$ =  MID$ (P$(E),9,3)  THEN  GOSUB 3000
  50. 440  NEXT E
  51. 500  REM  CURRENT
  52. 520  FOR E = 0 TO NN
  53. 530  IF A$ =  MID$ (P$(E),9,3)  THEN  GOSUB 4000
  54. 540  NEXT E
  55. 600  FOR X = 1 TO 80: PRINT "-";: NEXT X
  56. 610 V = NB: GOSUB 6000:NB$ = V$
  57. 611 V = SB: GOSUB 6000:SB$ = V$
  58. 612 V = TB: GOSUB 6000:TB$ = V$
  59. 613 V = CB: GOSUB 6000:CB$ = V$
  60. 614 TB = TB +CB +NB +SB:V = TB: GOSUB 6000:T$ = V$
  61. 615 TB = 0:CB = 0:NB = 0:SB = 0
  62. 616  PRINT N$: PRINT A$; TAB( 10);" $";NB$;" $";SB$;
  63. 617  PRINT " $";TB$;" $";CB$;" $";T$
  64. 618  NEXT A
  65. 620  PR# 0
  66. 622  HOME 
  67. 624  FOR X = 1 TO 10: PRINT  CHR$(7): NEXT 
  68. 680  PRINT "END OF PROGRAM  THANK YOU": GOTO 999
  69. 1000  REM  PRINT FOR 90&OVER
  70. 1010  IF NT =  VAL( MID$ (P$(E),71,2))  THEN 1050
  71. 1011  IF SX =  VAL( MID$ (P$(E),71,2))  THEN  RETURN 
  72. 1012  IF TR =  VAL( MID$ (P$(E),71,2))  THEN  RETURN 
  73. 1013  IF CD =  VAL( MID$ (P$(E),71,2))  THEN  RETURN 
  74. 1050 NB = NB + VAL( MID$ (P$(E),46,10))
  75. 1060  RETURN 
  76. 2000  REM  FOR 60 DAY
  77. 2010  IF SX =  VAL( MID$ (P$(E),71,2))  THEN 2040
  78. 2020  RETURN 
  79. 2040 SB = SB + VAL( MID$ (P$(E),46,10))
  80. 2050  RETURN 
  81. 3000  REM  SUB FOR 30 DAYS
  82. 3010  IF TR =  VAL( MID$ (P$(E),71,2))  THEN 3040
  83. 3020  RETURN 
  84. 3040 TB = TB + VAL( MID$ (P$(E),46,10))
  85. 3050  RETURN 
  86. 4000  REM  FOR CURRENT
  87. 4010  IF CD =  VAL( MID$ (P$(E),71,2))  THEN 4040
  88. 4020  RETURN 
  89. 4040 CB = CB + VAL( MID$ (P$(E),46,10))
  90. 4050  RETURN 
  91. 5000  REM  PRINTS HEADS
  92. 5005  PRINT "TODAYS DATE-";C1$
  93. 5010  PRINT "ACCOUNT # NAME ";
  94. 5011  PRINT " 90 DAYS+ ";"   60 DAYS   ";
  95. 5012  PRINT "   30 DAYS   ";"   CURRENT   ";"   TOTAL "
  96. 5020  RETURN 
  97. 6000  REM  SUB FOR ROUND AND 10 PLACES
  98. 6001  IF V <0  THEN F8 =  -1:V = V * -1
  99. 6005 V =  INT(V *10 ^2 +.5)/ INT(10 ^2 +.5)
  100. 6010  IF V < > INT(V)  THEN 6021
  101. 6020 V$ =  STR$(V) +".00": GOTO 6040
  102. 6021 V1 = V - INT(V)
  103. 6022 V1 =  INT(V1 *100 +.5)/100
  104. 6030 V$ =  STR$(V1)
  105. 6031  IF  LEN(V$) = 2  THEN V$ = V$ +"0"
  106. 6032 V$ =  STR$( INT(V)) +V$
  107. 6033  IF F8 =  -1  THEN V$ = "-" +V$
  108. 6040  IF  LEN(V$) =  >10  THEN 6050
  109. 6045 V$ = " " +V$: GOTO 6040
  110. 6050 F8 = 1: RETURN